﻿using KinonekoSoftware.Studio.Pages.Notions;

namespace KinonekoSoftware.Studio.Utils
{
    public static class NotionFactory
    {
        private static readonly Dictionary<Type, Factory<NotionFeature>> _Map;

        static NotionFactory()
        {
            _Map = new Dictionary<Type, Factory<NotionFeature>>();
            Initialize();
        }

        
        /*
         * Regex : Part_([\w\d]+)
         * Replace Regex: _Map.Add(typeof(Part_$1), () => new $1NotionFeature());
         *
         * Input: InstanceBasic
         * Output: _Map.TryAdd(typeof(Part_InstanceBasic), () => new InstanceBasicNotionFeature());
         *
         *
         * Test:
         *
         *  _Map.Add(typeof(Part_InstanceBasic), () => new InstanceBasicNotionFeature());
         *  _Map.Add(typeof(Part_PlantBasic), () => new PlantBasicNotionFeature());
         */
        
        
        static void Initialize()
        {
        }
    }
}